<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
	<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
	<title>基础：5、列表渲染  数组更新检测  变异方法</title>
	<script type="text/javascript" src="https://unpkg.com/vue/dist/vue.js"></script>
</head>
<body>
	<div id="app">
		<ul>
			<li v-for="item in items" :key="item.id">{{ item.id }} - {{ item.message }}</li>
			<li v-for="item in items2">{{ item }}</li>
		</ul>
		<button @click="push" title="插入一个元素">push</button>
		<button @click="pop" title="删除数组末尾元素">pop</button>
		<button @click="shift" title="删除第一个元素的值并返回">shift</button>
		<button @click="unshift" title="在数组开头插入元素">unshift</button>
		<button @click="splice" title="在数组中指定位置删除和插入元素">splice</button>
		<button @click="sort" title="排序">sort</button>
		<button @click="reverse" title="倒序">sort</button>
	</div>
	
	<script type="text/javascript">
		var vm = new Vue({
			el: "#app",
			data: {
				items: [
					{ id: 0, message: 'msg1' },
					{ id: 1, message: 'msg2' },
					{ id: 2, message: 'msg3' },
					{ id: 3, message: 'msg4' },
					{ id: 4, message: 'msg5' }
				],
				items2: [3,2,1,8,7,5,9]
			},
			methods: {
				// 往数组末尾插入一个新元素
				push: function(){
					this.items.push({ id: 5, message: 'msg5' })
				},
				// 删除末尾元素
				pop: function(){
					this.items.pop()					
				},
				// 删除第一个元素的值并且取出来
				shift: function(){
					var obj = this.items.shift()
					console.log(obj)
				},
				// 在数组开头插入元素
				unshift: function(){
					this.items.unshift({ id: 6, message: 'msg6' })
				},
				// 在数组中指定位置删除和插入元素
				splice: function(){
					this.items.splice(1,3,{ id: 7, message: 'msg7'})
				},
				// 排序，只能对单一类型数据排序，不能对对象排序
				sort: function(){
					this.items2.sort()
				},
				// 对数组元素倒序
				reverse: function(){
					this.items2.reverse()
				}
			}
		})


	</script>
</body>
</html>
<!-- 代码均通过测试，有什么纰漏欢迎联系 QQ:1123176978  Wechat:hyhlovehuanong -->